#pragma once

#include <vector>

using std::vector;

class Transition;

typedef vector<Transition*> transitionContainer;
typedef transitionContainer::iterator transItr;
typedef transitionContainer::const_iterator const_transItr;

class ListeTransitions {
public:
	~ListeTransitions();

	void push_back(Transition*);
	Transition* operator[](unsigned index) const;
	unsigned size() const;

	transItr begin();
	const_transItr begin() const;
	transItr end();
	const_transItr end() const;
	transItr erase(transItr);
private:
	transitionContainer transitions;

	ListeTransitions();

	friend class Etat;
};